﻿<?xml version="1.0" encoding="utf-8"?>
<configurationSectionModel dslVersion="1.0.0.0" Id="a36a82f8-8129-4a16-9104-067fd0870af2" namespace="MetaCollection.ContentService.Configuration" xmlSchemaNamespace="uri://MetaCollection/v2/" xmlns="http://schemas.microsoft.com/dsltools/ConfigurationSectionDesigner">
  <configurationElements>
    <configurationSection name="ContentConfigurationSection" codeGenOptions="Singleton, XmlnsProperty" xmlSectionName="contentConfiguration">
      <attributeProperties>
        <attributeProperty name="RootName" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="rootName" isReadOnly="false" documentation="Name of the Root Node Item to use for this collection end point." defaultValue="&quot;Root&quot;">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
        <attributeProperty name="DefaultDocument" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="defaultDocument" isReadOnly="false" defaultValue="&quot;default.mcpx&quot;">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
      </attributeProperties>
      <elementProperties>
        <elementProperty name="Controllers" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="controllers" isReadOnly="false">
          <type>
            <configurationElementMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/ControllersElement" />
          </type>
        </elementProperty>
        <elementProperty name="Templating" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="templating" isReadOnly="false">
          <type>
            <configurationElementMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/TemplateConfigurationElement" />
          </type>
        </elementProperty>
      </elementProperties>
    </configurationSection>
    <configurationElement name="ControllersElement">
      <attributeProperties>
        <attributeProperty name="PublicMethods" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="publicMethods" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Methods" />
          </type>
        </attributeProperty>
        <attributeProperty name="AllowedMethods" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="allowedMethods" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Methods" />
          </type>
        </attributeProperty>
      </attributeProperties>
    </configurationElement>
    <configurationElementCollection name="TemplateExtensionCollection" collectionType="AddRemoveClearMap" xmlItemName="extension" codeGenOptions="Indexer, AddMethod, RemoveMethod">
      <itemType>
        <configurationElementMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/TemplateExtensionElement" />
      </itemType>
    </configurationElementCollection>
    <configurationElement name="TemplateExtensionElement">
      <attributeProperties>
        <attributeProperty name="Name" isRequired="true" isKey="true" isDefaultCollection="false" xmlName="name" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
        <attributeProperty name="AssemblyName" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="assemblyName" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
        <attributeProperty name="TypeName" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="typeName" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
      </attributeProperties>
    </configurationElement>
    <configurationElementCollection name="ScriptCollection" xmlItemName="script" codeGenOptions="Indexer, AddMethod, RemoveMethod">
      <itemType>
        <configurationElementMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/ScriptElement" />
      </itemType>
    </configurationElementCollection>
    <configurationElement name="TemplateMappingElement">
      <attributeProperties>
        <attributeProperty name="ResourceProvider" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="resourceProvider" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Guid" />
          </type>
        </attributeProperty>
        <attributeProperty name="MimeType" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="mimeType" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
        <attributeProperty name="Path" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="path" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Uri" />
          </type>
        </attributeProperty>
        <attributeProperty name="Name" isRequired="true" isKey="true" isDefaultCollection="false" xmlName="name" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
        <attributeProperty name="OutputType" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="outputType" isReadOnly="false" documentation="The output type of the content after the template is applied" defaultValue="&quot;text/html&quot;">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
      </attributeProperties>
    </configurationElement>
    <configurationElement name="ScriptElement">
      <attributeProperties>
        <attributeProperty name="Address" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="address" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Uri" />
          </type>
        </attributeProperty>
        <attributeProperty name="Name" isRequired="true" isKey="true" isDefaultCollection="false" xmlName="name" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
      </attributeProperties>
    </configurationElement>
    <configurationElementCollection name="TemplateMappingCollection" documentation="A list of default mapping between items of a given mimetype and resource provider and a template." collectionType="AddRemoveClearMap" xmlItemName="map" codeGenOptions="Indexer, AddMethod, RemoveMethod">
      <itemType>
        <configurationElementMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/TemplateMappingElement" />
      </itemType>
    </configurationElementCollection>
    <configurationElement name="TemplateConfigurationElement">
      <elementProperties>
        <elementProperty name="Tags" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="tags" isReadOnly="false">
          <type>
            <configurationElementCollectionMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/TemplateExtensionCollection" />
          </type>
        </elementProperty>
        <elementProperty name="Filters" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="filters" isReadOnly="false">
          <type>
            <configurationElementCollectionMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/TemplateExtensionCollection" />
          </type>
        </elementProperty>
        <elementProperty name="Scripts" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="scripts" isReadOnly="false">
          <type>
            <configurationElementCollectionMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/ScriptCollection" />
          </type>
        </elementProperty>
        <elementProperty name="Mapping" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="mapping" isReadOnly="false">
          <type>
            <configurationElementCollectionMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/TemplateMappingCollection" />
          </type>
        </elementProperty>
        <elementProperty name="MimeTypes" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="mimeTypes" isReadOnly="false">
          <type>
            <configurationElementCollectionMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/MimeRegisteryCollection" />
          </type>
        </elementProperty>
      </elementProperties>
    </configurationElement>
    <configurationElement name="MimeRegisteryElement">
      <attributeProperties>
        <attributeProperty name="MimeType" isRequired="true" isKey="true" isDefaultCollection="false" xmlName="mimeType" isReadOnly="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
        <attributeProperty name="Inline" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="inline" isReadOnly="false" documentation="Determines if this resources of this type should be sent with an inline or an attachment http header." defaultValue="false">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Boolean" />
          </type>
        </attributeProperty>
        <attributeProperty name="IconName" isRequired="true" isKey="false" isDefaultCollection="false" xmlName="iconName" isReadOnly="false" documentation="The name of the icon image file which exists in the appropriate size folder under the Registery Base Path">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
      </attributeProperties>
    </configurationElement>
    <configurationElementCollection name="MimeRegisteryCollection" documentation="MimeType Handling Configuration including attachment versus inline downloading and display icon" collectionType="AddRemoveClearMap" xmlItemName="register" codeGenOptions="Indexer, AddMethod, RemoveMethod">
      <attributeProperties>
        <attributeProperty name="BasePath" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="basePath" isReadOnly="false" documentation="Base Icon Path URI prepended to each registered types Icon Path" defaultValue="&quot;~/&quot;">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/Uri" />
          </type>
        </attributeProperty>
        <attributeProperty name="DefaultIcon" isRequired="false" isKey="false" isDefaultCollection="false" xmlName="defaultIcon" isReadOnly="false" documentation="Icon file to use when no mimtype registration is matched.  This icon image file should exist in each size folder under the base path" defaultValue="&quot;default.png&quot;">
          <type>
            <externalTypeMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/String" />
          </type>
        </attributeProperty>
      </attributeProperties>
      <itemType>
        <configurationElementMoniker name="/a36a82f8-8129-4a16-9104-067fd0870af2/MimeRegisteryElement" />
      </itemType>
    </configurationElementCollection>
  </configurationElements>
  <typeDefinitions>
    <externalType name="String" namespace="System" />
    <externalType name="Boolean" namespace="System" />
    <externalType name="Int32" namespace="System" />
    <externalType name="Int64" namespace="System" />
    <externalType name="Single" namespace="System" />
    <externalType name="Double" namespace="System" />
    <externalType name="DateTime" namespace="System" />
    <externalType name="TimeSpan" namespace="System" />
    <externalType name="Methods" namespace="MetaCollection.ContentService.Http" />
    <externalType name="Uri" namespace="System" />
    <externalType name="Guid" namespace="System" />
  </typeDefinitions>
</configurationSectionModel>